let ejs = require("ejs");
let mysql = require('mysql');
let server = require('express')();

server.all("*", function(req, res, next) {
    //设置允许跨域的域名，*代表允许任意域名跨域
    res.header("Access-Control-Allow-Origin", "*");
    //允许的header类型
    res.header("Access-Control-Allow-Headers", "content-type");
    //跨域允许的请求方式 
    res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
    if (req.method.toLowerCase() == 'options')
        res.send(200); //让options尝试请求快速结束
    else
        next();
})
let sql = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '378507',
    database: 'teach'
});

// 尝试链接
sql.connect();

//案例列表
server.get("/listCase", function(request, response) {
    sql.query(`SELECT * FROM list`, function(error, data) {
        if (error) {
            console.log(error);
            response.end("error");
            return;
        }
        response.end(JSON.stringify(data));
    })
})

//解决方案列表
server.get("/listSolution", function(request, response) {
    sql.query(`SELECT * FROM solu`, function(error, data) {
        // console.log(data);
        if (error) {
            console.log(error);
            response.end("error");
            return;
        }
        response.end(JSON.stringify(data));
    })
})


//案例详情
server.get("/detailCase", function(request, response) {
    let id = request.query.id;
    sql.query(`SELECT * FROM details1 WHERE id=${id}`, function(error, data) {
        if (error) {
            console.log(error);
            response.end("error");
            return;
        }
        response.end(JSON.stringify(data));
    })
})


//解决方案详情
server.get("/detailSolution", function(request, response) {
    //接收来自前端发送的id参数
    let id = request.query.id;

    sql.query(`SELECT * FROM details2 WHERE id=${id}`, function(error, data) {
        if (error) {
            console.log(error);
            response.end("error");
            return;
        }
        console.log(data);
        response.end(JSON.stringify(data));
    })
})


server.listen(81);